export interface ResponseData{
    code: number,
    message: string,
    ok: boolean
}


export interface Content{

    "bookingRule": {
        "cycle": number,
        "releaseTime": string,
        "stopTime": string,
        "quitDay": number,
        "quitTime": string,
        "rule": string[]
    },
    "hospital": {
        "id": string,
        "createTime": string,
        "updateTime": string,
        "isDeleted": number,
        "param": {
            "hostypeString": string,
            "fullAddress": string
        },
        "hoscode": string,
        "hosname": string,
        "hostype": string,
        "provinceCode": string,
        "cityCode": string,
        "districtCode": string,
        "address": string,
        "logoData": string,
        "intro": null,
        "route": string,
        "status": number,
        "bookingRule": null
    }

}



// 医院详细数据类型
export interface HospitalDetailResponseData extends ResponseData{
    data:Content
}


export interface Department{
    "depcode": string,
    "depname": string,
    "children": Department[]
}



//医院科室数据类型
export interface HospitalDepartmentResponseData extends ResponseData{
    data:Department[]
}

export interface bookingScheduleListChildren{
    "workDate": string,
    "workDateMd": string,
    "dayOfWeek": string,
    "docCount": number,
    "reservedNumber": number,
    "availableNumber": number,
    "status": number
}

//预约排班的数据类型
export interface HospitalSchedulingResponseData extends ResponseData{
  "data":{
      "total": number,
      "bookingScheduleList": bookingScheduleListChildren[],
      "baseMap": {
          "workDateString": string,
          "releaseTime": string,
          "bigname": string,
          "stopTime": string,
          "depname": string,
          "hosname": string
      }
  }
}




//预约具体排班医生数据类型
export interface Doctor{
    "id": string,
    "createTime": string,
    "updateTime": string,
    "isDeleted": number,
    "param": {
        "dayOfWeek": string,
        "depname": string,
        "hosname": string
    },
    "hoscode": string,
    "depcode": string,
    "title": string,
    "docname": string,
    "skill": string,
    "workDate": string,
    "workTime": number,
    "reservedNumber": number,
    "availableNumber": number,
    "amount": number,
    "status": number,
    "hosScheduleId": string
}

export interface SchedulingDoctorResponseData extends ResponseData{
    "data":Doctor[]
}


//就诊人信息数据类型
export interface Visitor{
    "id": number,
    "createTime": string,
    "updateTime": string,
    "isDeleted": number,
    "param": {
        "certificatesTypeString": string,
        "contactsCertificatesTypeString": null,
        "cityString": string,
        "fullAddress": string,
        "districtString": string,
        "provinceString": string
    },
    "userId": number,
    "name": string,
    "certificatesType": string,
    "certificatesNo": string,
    "sex": number,
    "birthdate": string,
    "phone": string,
    "isMarry": number,
    "provinceCode": string,
    "cityCode": string,
    "districtCode": string,
    "address": string,
    "contactsName": string,
    "contactsCertificatesType":string,
    "contactsCertificatesNo": string,
    "contactsPhone": string,
    "isInsure": number,
    "cardNo": null,
    "status": string
}
export interface VisitorResponseData extends ResponseData{
   "data":Visitor[]
}

// 预约医生的数据类型
export interface DoctorInfoResponseData extends ResponseData{
    "data":{
        "id": string,
        "createTime": string,
        "updateTime": string,
        "isDeleted": number,
        "param": {
            "dayOfWeek": string,
            "depname": string,
            "hosname": string
        },
        "hoscode": string,
        "depcode": string,
        "title": string,
        "docname": string,
        "skill": string,
        "workDate": string,
        "workTime": number,
        "reservedNumber": number,
        "availableNumber": number,
        "amount": number,
        "status": number,
        "hosScheduleId": string
    }
}